/**
 * 
 */
package model;

import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * @author GCG
 * 
 */
public interface Prestiti {
	public void assegnaLibroInPrestito(long idLibro, int idCliente)
			throws SQLException;

	/*
	 * assegna se possibile un Libro in Libri al cliente
	 */

	public ResultSet clientiInScadenzaPrestito(int numGiorniAllaScadenza)
			throws SQLException;

	/*
	 * restituisce un result set di una query che mi d�� una tabella di tutti i
	 * clienti i quali il proprio libro sta per scadere nei prossimi
	 * numGiorniAllaScadenza. Si potrebbe scegliere di mettere il metodo privo
	 * di parametri ma in questo modo potremmo mandare pi�� messaggi di
	 * segnalazione (es: il tuo libro sta per scadere entro 7 giorni , il tuo
	 * libro scade entro 5 giorni... in modo da sollecitare il cliente pi��
	 * volte )
	 */

	public void aggiornaPrestito(long isbn, int idCliente) throws SQLException;

	public ResultSet possoProlungarePrestito(long isbn, int idCliente)
			throws SQLException;

	public String getDataStimata(long isbn, int idCliente) throws SQLException;

	public ResultSet consigliati(String genere) throws SQLException;
}
